package com.skiving.cloud.admin.service;

import com.mybatisflex.core.paginate.Page;
import com.skiving.cloud.common.utils.PageParameter;
import com.mybatisflex.core.service.IService;
import com.skiving.cloud.admin.entity.SysOrg;

import java.util.List;

/**
 * 组织机构表 服务层。
 *
 * @author skivingcloud
 * @since 2025-03-08
 */
public interface SysOrgService extends IService<SysOrg> {
    /**
     * 分页查询组织机构表
     *
     * @param parameter 查询参数
     * @return 分页查询结果
     */
    Page<SysOrg> queryByPage(PageParameter<SysOrg> parameter);

    /**
     * 查询机构树形
     * @return 查询机构树形
     */
    List<SysOrg> getAllOrgTree();

    /**
     * 查询机构树形
     * @param tenantId 租户ID
     * @return 机构树形
     */
    List<SysOrg> getAllOrgTree(String tenantId);
}
